local t = Def.ActorFrame{
	LoadActor("jukeback")..{
			InitCommand=cmd(horizalign,right;vertalign,bottom;x,SCREEN_RIGHT;y,SCREEN_BOTTOM;shadowlength,0;);
			OnCommand=cmd(diffusealpha,0;zoomx,3;sleep,0.6;linear,0.05;zoomtoheight,2;diffusealpha,1;accelerate,0.1;zoom,0.8);
		};

	Def.Sprite{
		InitCommand=cmd(Center;horizalign,right;vertalign,bottom;shadowlength,2);
		OnCommand=function(self)
			if GAMESTATE:IsDemonstration() then
				if not GAMESTATE:IsCourseMode() then
					local song = GAMESTATE:GetCurrentSong();
					local path;
					if song then
						if song:HasJacket() then
							self:visible(false);
						elseif song:HasBanner() then
							self:visible(true);
							self:LoadBackground(song:GetBannerPath());
						else
							self:Load( THEME:GetPathG("Common fallback","banner") );	
						end;
					end;
				else
					if GAMESTATE:IsCourseMode() then
						local course = GAMESTATE:GetCurrentCourse();
						local path;
						if course then
							local Path = course:GetBannerPath();
							if not Path then
								Path = THEME:GetPathG("Common fallback","banner");
							end;
							self:Load( Path );
						else
							self:Load( THEME:GetPathG("Common fallback","banner") );
						end;
					end;
				end;
			else
				self:visible(false);
			end;
			self:x(SCREEN_RIGHT-20);
			self:y(SCREEN_BOTTOM-74);
			self:diffusealpha(0);
			self:zoomtoheight(0);
			self:zoomx(3);
			self:sleep(0.6);
			self:linear(0.05);
			self:zoomtoheight(4);
			self:diffusealpha(0.8);
			self:accelerate(0.1);
			self:zoomtowidth(384/2);
			self:accelerate(0.05);
			self:zoomtoheight(120/2);
		end;
	};
	
	Def.Sprite {
		InitCommand=cmd(Center;horizalign,right;vertalign,bottom;shadowlength,2);
		OnCommand=function(self)
			if GAMESTATE:IsDemonstration() then
				if not GAMESTATE:IsCourseMode() then
					local song=GAMESTATE:GetCurrentSong();
					local path;
					if song then
						if song:HasJacket() then
							self:visible(true);
							self:LoadBackground(song:GetJacketPath());
						else
							self:visible(false);
						end;
					end;
				else
					self:visible(false);
				end;
			end;
			self:x(SCREEN_RIGHT-20);
			self:y(SCREEN_BOTTOM-74);
			self:diffusealpha(0);
			self:zoomtoheight(0);
			self:zoomx(3);
			self:sleep(0.6);
			self:linear(0.05);
			self:zoomtoheight(4);
			self:diffusealpha(0.8);
			self:accelerate(0.1);
			self:zoomtowidth(140);
			self:accelerate(0.05);
			self:zoomtoheight(140);
		end;
	};
};

local selInfo = Def.ActorFrame{
};

if GAMESTATE:IsDemonstration() then
	local song = GAMESTATE:GetCurrentSong();
	if song == nil then
		selInfo[#selInfo+1] = LoadActor(THEME:GetPathB("","_black"))..{
			OnCommand=cmd(diffusealpha,0;stoptweening;);
		};
	elseif song:GetDisplaySubTitle() ~= "" then
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="SongMainTitle1";
			Text=GAMESTATE:GetCurrentSong():GetDisplayMainTitle();
			InitCommand=cmd(draworder,101;maxwidth,SCREEN_WIDTH-600/2;x,SCREEN_RIGHT-40/2;y,SCREEN_BOTTOM-62;shadowlength,1;diffuse,color("1,0.9,0.1,1");horizalign,right;);
			OnCommand=cmd(diffusealpha,0;zoomx,3;sleep,0.6;linear,0.05;zoomtoheight,4/2;diffusealpha,1;accelerate,0.1;zoom,0.8;);
		};
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="SongSubTitle1";
			Text=GAMESTATE:GetCurrentSong():GetDisplaySubTitle();
			InitCommand=cmd(draworder,101;maxwidth,SCREEN_WIDTH-600/2;x,SCREEN_RIGHT-40/2;y,SCREEN_BOTTOM-50;shadowlength,1;diffuse,color("1,0.9,0.1,1");horizalign,right;);
			OnCommand=cmd(diffusealpha,0;zoomx,3;sleep,0.6;linear,0.05;zoomtoheight,4/2;diffusealpha,1;accelerate,0.1;zoom,0.425;);
		};
	else
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="SongTitle1";
			Text=GAMESTATE:GetCurrentSong():GetDisplayFullTitle();
			InitCommand=cmd(draworder,101;maxwidth,SCREEN_WIDTH-600/2;x,SCREEN_RIGHT-40/2;y,SCREEN_BOTTOM-58;shadowlength,1;diffuse,color("1,0.9,0.1,1");horizalign,right;);
			OnCommand=cmd(diffusealpha,0;zoomx,3;sleep,0.6;linear,0.05;zoomtoheight,4/2;diffusealpha,1;accelerate,0.1;zoom,0.8;);
		};
	end;

	if song == nil then
		selInfo[#selInfo+1] = LoadActor(THEME:GetPathB("","_black"))..{
			OnCommand=cmd(diffusealpha,0;stoptweening;);
		};
	elseif song:GetDisplayArtist() ~= "" then
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="Artist1";
			Text=GAMESTATE:GetCurrentSong():GetDisplayArtist();
			InitCommand=cmd(draworder,101;maxwidth,SCREEN_WIDTH-600/2;x,SCREEN_RIGHT-40/2;y,SCREEN_BOTTOM-40;shadowlength,1;diffuse,color("1,0.9,0.1,1");horizalign,right;);
			OnCommand=cmd(diffusealpha,0;zoomx,3;sleep,0.6;linear,0.05;zoomtoheight,4/2;diffusealpha,1;accelerate,0.1;zoom,0.475;);
		};
	end;
end;

selInfo[#selInfo+1] = LoadActor(THEME:GetPathB("","premium"))..{
};

t[#t+1] = selInfo;

return t;